package inabit.inabitcompiler.productions.constant;

import inabit.compiler.parser.grammar.NonTerminal;
import inabit.compiler.parser.grammar.Production;
import inabit.compiler.parser.grammar.Symbol;
import inabit.compiler.parser.grammar.Terminal;
import inabit.inabitcompiler.lexical.InabitTokenClass;

/**Const -> constants: CC'*/
/**@author Rafael Rocha*/
public class Const_Rule extends Production{

	private NonTerminal C;
	private NonTerminal C1;
	public Const_Rule() {
		super("Const");
	}

	@Override
	protected Symbol[] production(NonTerminal nonTerminal) {
		C = new NonTerminal("C");
		C1 = new NonTerminal("C'");
		
		Symbol[] symbols = {
				new Terminal(InabitTokenClass.CONSTANTS),
				new Terminal(InabitTokenClass.COLON),
				C,
				C1
		};
		return symbols;
	}

}
